/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cxhd.lis.service;

import com.jfinal.log.Log;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import java.util.List;
import java.util.Map;

/**
 *
 * @author 52461
 */
public class ZkObjectService {
private static final Log log = Log.getLog(ZkObjectService.class);
    /*
    *保存质控物
    *质控规则说明
    
    上标: º ¹ ² ³ ⁴⁵ ⁶ ⁷ ⁸ ⁹ ⁺ ⁻ ⁼ ⁽ ⁾ ⁿ ′ ½
    下标:₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₊ ₋ ₌ ₍ ₎
    * 默认westgard 多规则 1  还有其他质控规则  百分比控制 2 范围控制3 定性控制 4
    * 失控规则说明
    *   1₃s 一个质控结果超过平均数±3s，就判断失控，该规则主要对随机误差敏感。
    *   2₂s 两个连续的质控结果同时超过平均数＋2s或平均数－2s，就判断失控，该规则对系统误差敏感。
    *   R₄s 一个质控结果超过平均数＋2s，另一个质控结果超过平均数－2s，就判断失控，该规则对随机误差敏感。
    *   4₁s 四个连续的质控结果同时超过平均数＋1s或平均数－1s，就判断失控，该规则对系统误差敏感。
    *   10x 10个连续的质控结果落在平均数的一侧（高或低于平均数，对偏离的大小没有要求），就判断失控，该规则对系统误差敏感。
     */
    public boolean save(List<Map<String, String>> list) {

        try{
        if (list != null && !list.isEmpty()) {

            for (Map<String, String> map : list) {
                save(map);
            }
              return true;
        }
        }catch(Exception e){
         log.error("", e);       
        }
        return false;
    }

    public void save(Map<String, String> map) {
        String sk_rule = "1₃s,2₂s,R₄s,4₁s,10x";
        String zk_rule = "1";
        Record info = new Record();
        info.set("PK", null)
                .set("DEVICEPK", map.get("DEVICEPK"))
                .set("DEVICEID", map.get("DEVICEID"))
                .set("TESTPK", map.get("TESTPK"))
                .set("ZK_RULE", zk_rule)
                .set("SK_RULE", sk_rule);
        Db.save("zk_object", info);

    }
}
